// search模块的小仓库
import {reqGetSearchInfo} from '@/api/index.js'
const state = {
  // 仓库初始的状态
  searchList: {}
}
const mutations = {
  GETSEARCHLIST(state, searchList) {
    state.searchList = searchList
  }
}
const actions = {
  // 获取search模块的数据
  async getSearchList({commit}, params={}) {
    // 当前这个reqGetSearchInfo函数调用的时候，至少传递一个参数（空对象）
    // params形参：是当用户派发action的时候，第二个参数传递过来的，至少是一个空对象
    const res = await reqGetSearchInfo(params)
    if(res.code === 200) {
      commit('GETSEARCHLIST', res.data)
    }
  }
}
// 计算属性，在项目当中，为了简化数据而生
const getters = {
  goodsList(state) {
    // 这样书写是有问题的
    // 加入网络不给力或者没有网state.searchList.goodsList应该返回的是undefined
    return state.searchList.goodsList || []
  },
  trademarkList(state) {
    return state.searchList.trademarkList || []
  },
  attrsList(state) {
    return state.searchList.attrsList || []
  }
}
export default {
  state,
  mutations,
  actions,
  getters
}